package com.an.common.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 纵向和纵向响应代码类型
 *
 * @author: Ann
 * @createDate: 2023/11/02 17:50:10
 * @version: 1.0.0
 */
@Getter
@AllArgsConstructor
public enum BaiduAddressRespCodeType {
    /**
     * 正常
     */
    NORMAL(0, "正常"),
    /**
     * 内部错误
     */
    INTERNAL_ERROR(1, "服务器内部错误"),
    /**
     * 上传超过限制
     */
    UPLOAD_OVER_LIMIT(10, "上传内容超过8M"),
    /**
     * 不存在
     */
    AK_NOT_EXIST(101, "AK参数不存在"),
    /**
     * McOde不存在
     */
    MCODE_NOT_EXIST(102, "Mcode参数不存在，mobile类型mcode参数必需"),
    /**
     * 应用程序不存在
     */
    APP_NOT_EXIST(200, "APP不存在，AK有误请检查再重试"),
    /**
     * 用户禁用应用
     */
    APP_DISABLED_BY_USER(201, "APP被用户自己禁用，请在控制台解禁"),
    /**
     *
     */
    APP_DELETED_BY_ADMIN(202, "APP被管理员删除"),
    /**
     * 应用程序类型错误
     */
    APP_TYPE_ERROR(203, "APP类型错误"),
    /**
     * App IP验证失败
     */
    APP_IP_VERIFY_FAILED(210, "APP IP校验失败"),
    /**
     * App sn验证失败
     */
    APP_SN_VERIFY_FAILED(211, "APP SN校验失败"),
    /**
     * 应用程序引用验证失败
     */
    APP_REFERER_VERIFY_FAILED(220, "APP Referer校验失败"),
    /**
     * 应用程序McOde验证失败
     */
    APP_MCODE_VERIFY_FAILED(230, "APP Mcode码校验失败"),
    /**
     *
     */
    APP_SERVICE_DISABLED(240, "APP 服务被禁用"),
    /**
     * 用户不存在
     */
    USER_NOT_EXIST(250, "用户不存在"),
    /**
     * 自行删除用户
     */
    USER_DELETED_BY_SELF(251, "用户被自己删除"),
    /**
     * 被admin删除用户
     */
    USER_DELETED_BY_ADMIN(252, "用户被管理员删除"),
    /**
     * 服务不存在
     */
    SERVICE_NOT_EXIST(260, "服务不存在"),
    /**
     * 服务残疾人
     */
    SERVICE_DISABLED(261, "服务被禁用"),
    /**
     * 配额限制
     */
    QUOTA_LIMIT(302, "天配额超限，限制访问"),
    /**
     * 并发限制
     */
    CONCURRENT_LIMIT(401, "当前并发量已经超过约定并发配额，限制访问"),
    /**
     * 无ipv6接入
     */
    NO_IPV6_ACCESS(1001, "没有IPv6地址访问的权限");

    final int code;
    final String msg;


    /**
     * 按代码获取MSG
     *
     * @param code 代码
     * @return {@link String }
     * @author: Ann
     * @createDate: 2023/11/02 17:50:42
     * @version: 1.0.0
     */
    public static String getMsgByCode(int code) {
        for (BaiduAddressRespCodeType baiduAddressRespCodeType : BaiduAddressRespCodeType.values()) {
            if (baiduAddressRespCodeType.getCode() == code) {
                return baiduAddressRespCodeType.getMsg();
            }
        }
        return "未知错误";
    }
}
